package mrpc

import (
	"entry_task/backend/src/utils"
	api "entry_task/entry_api/service"
	"google.golang.org/grpc"
)

// 构建一个结构体，用来实例化单例
type UserInfoClient struct {
}

func (UserInfoClient) GetUserInfoClient() api.UserInfoServiceClient {
	conn, err := grpc.Dial(":8088", grpc.WithInsecure())
	utils.CheckErr(err)
	client := api.NewUserInfoServiceClient(conn)
	return client
}

// 声明一个私有变量，作为单例
var instance *UserInfoClient

// init函数将在包初始化时执行，实例化单例
func init() {
	instance = new(UserInfoClient)
}

func GetInstance() *UserInfoClient {
	return instance
}
